<?php
require_once("XmlUtils.php");
/*
*	LEGENDA
*	A = ATTRIBUTO
*   V = VALORE
*   T = TAG
*   * = OBBLIGATORIO IN PRESENZA DELL'ASTERISCO
*   "Y" = QUESTO ARGOMENTO PASSATO IN ALCUNE FUNZIONI INDICA CHE IL CAMPO DEVE ESSERE VAL. CORRETTAMENTE
* 
*   NB: IN ALCUNI CASI IL VALORE ANCHE SE "VUOTO" SARA' CONFRONTATO COME STRINGA VUOTA ...
*/
class XmlBlocks extends XmlUtils{
	
	private function __construct() {
	
		
	}
	
	final protected function __openTagScheda(){
		
		$xml="<Schede>";
		
		return $xml;
	}
	
	final protected function __DatiComuni($rs,$cig,$conn) {

		$cig=$this->WorkCig("CIG",$cig,"Y");			//presenza A* - V
		$flag_ente_speciale=$this->WorkFlagSOType("FLAG_ENTE_SPECIALE",$rs["dc"]["TIPO_SETTORE_ID"],$conn);	//presenza A* - V*
		$tipo_contratto=$this->WorkTipoSchedaType("TIPO_CONTRATTO",$rs["dc"]["OGGETTO_CONTRATTO_ID"],$conn);	//presenza A* - V*
		$cf_amm_agente=$this->WorkCF("CF_AMM_AGENTE",$rs["dc"]["CODFISC_AS"]);										//presenza A* - V
		$den_amm_agente=$this->WorkStringa("DEN_AMM_AGENTE",$rs["dc"]["DENOMINAZIONE_AS"],"250");	//presenza A* - V
		$cf_amm=$this->WorkCF("CF_AMM",$rs["gare"]["CODFISC_AMMINISTRAZIONE"]);										//presenza A* - V
		$den_amm=$this->WorkStringa("DEN_AMM",$rs["gare"]["DENOMINAZIONE_AMMINISTRAZIONE"],"250");//presenza A* - V
		$cf_sa=$this->WorkCF("CF_SA",$rs["dc"]["CODFISC_SA"]);																		//presenza A* - V
		$den_sa=$this->WorkStringa("DEN_SA",$rs["dc"]["DENOMINAZIONE_SA"],"250");									//presenza A* - V
		$codice_cc=$this->WorkStringa("CODICE_CC",$rs["dc"]["CENTRO_COSTO"],"50");								//presenza A* - V
		$denom_cc=$this->WorkStringa("DENOM_CC",$rs["dc"]["DENOMINAZIONE_CC"],"250");							//presenza A* - V
		$flag_sa_agente=$this->WorkSN("FLAG_SA_AGENTE",$rs["dc"]["ALTRO_SOGGETTO"],"Y");					//presenza A* - V*

  $esito_procedura=$this->WorkEsitoProceduraType("ESITO_PROCEDURA",$rs["dc"]["STATO_PROCEDURA_ID"],$conn);		//presenza A - V
		$id_tipologia_sa=$this->WorkTipologiaSAType("ID_TIPOLOGIA_SA",$rs["dc"]["TIPOLOGIA_SA_AS_ID"],$conn);		//presenza A - V

		$id_categ_sa=$this->WorkCategSAType("ID_CATEG_SA",$rs["dc"]["CATEGORIA_SA_ID"],$conn);		//presenza A - V
   
  $cf_rup=$this->WorkCF("CF_RUP",$rs["gare"]["CF_RUP"],"Y");

		$id_scheda_locale=$this->WorkNumero("ID_SCHEDA_LOCALE",$rs["dc"]["ID"]);				
		$id_scheda_simog=$this->WorkNumero("ID_SCHEDA_SIMOG",$rs["dc"]["ID_SIMOG"]);
  
		$xml='<DatiComuni tns:CIG="'.$cig.'" tns:FLAG_ENTE_SPECIALE="'.$flag_ente_speciale.'"  tns:TIPO_CONTRATTO="'.$tipo_contratto.'"';

  if ($id_categ_sa!=''){$xml.=' tns:ID_CATEG_SA="'.$id_categ_sa.'"';}

  $xml.=' tns:FLAG_SA_AGENTE="'.$flag_sa_agente.'"  tns:CF_AMM_AGENTE="'.$cf_amm_agente.'"  tns:DEN_AMM_AGENTE="'.$den_amm_agente.'" tns:CF_AMM="'.$cf_amm.'"  tns:DEN_AMM="'.$den_amm.'"  tns:CF_SA="'.$cf_sa.'" tns:DEN_SA="'.$den_sa.'"  tns:CODICE_CC="'.$codice_cc.'" tns:DENOM_CC="'.$denom_cc.'"'; 
  
  if ($id_tipologia_sa!=''){$xml.=' tns:ID_TIPOLOGIA_SA="'.$id_tipologia_sa.'"';}	
  
  //IL CODICE FISCALE DEL RUP E' OBBLIGATORIO MA SE VUOTO FORZIAMO L'ERRORE
  if($cf_rup!=''){$xml.=' tns:CF_RUP="'.$cf_rup.'"';}
  
  if ($esito_procedura!=''){$xml.=' tns:ESITO_PROCEDURA="'.$esito_procedura.'"';}
  $daticomnuniidsimog="N";
    
	 $xml.=' tns:ID_SCHEDA_LOCALE="'.$id_scheda_locale.'"';		

		$xml.='/>';
					
		return $xml;
	}		

	final protected function __Pubblicazione($rs) {

		$quotidiani_naz=$this->WorkIntero5("QUOTIDIANI_NAZ",$rs["gare"]["QUOTIDIANI_NAZIONALI"]);						//presenza A* - V
		$quotidiani_reg=$this->WorkIntero5("QUOTIDIANI_REG",$rs["gare"]["QUOTIDIANI_LOCALI"]);							//presenza A* - V
		$profilo_committente=$this->WorkSN("PROFILO_COMMITTENTE",$rs["gare"]["PROFILO_COMMITTENTE"]);		//presenza A* - V*
		$sito_ministero_inf_trasp=$this->WorkSN("SITO_MINISTERO_INF_TRASP",$rs["gare"]["SIMI"]);				//presenza A* - V*
		$sito_osservatorio_cp=$this->WorkSN("SITO_OSSERVATORIO_CP",$rs["gare"]["SIOCP"]);								//presenza A* - V*
		
		$data_guce=$this->WorkData("DATA_GUCE",$rs["gare"]["GUCE"]);															//presenza A - V
		$data_guri=$this->WorkData("DATA_GURI",$rs["gare"]["GURI"]);															//presenza A - V
		$data_albo=$this->WorkData("DATA_ALBO",$rs["gare"]["ALBO_PRETORIO"]);											//presenza A - V
		$data_bore=$this->WorkData("DATA_BORE",$rs["gare"]["GUBR"]);															//presenza A - V
		$periodici=$this->WorkIntero5("PERIODICI",$rs["gare"]["PERIODICI"]);											//presenza A - V
		
		$xml='<Pubblicazione ';
		
		if ($data_guce!=''){$xml.=' tns:DATA_GUCE="'.$data_guce.'"';}
		if ($data_guri!=''){$xml.=' tns:DATA_GURI="'.$data_guri.'"';}
		if ($data_albo!=''){$xml.=' tns:DATA_ALBO="'.$data_albo.'"';}
		if ($quotidiani_naz!=''){$xml.=' tns:QUOTIDIANI_NAZ="'.$quotidiani_naz.'"';}
		if ($quotidiani_reg!=''){$xml.=' tns:QUOTIDIANI_REG="'.$quotidiani_reg.'"';}
		if ($profilo_committente!=''){$xml.=' tns:PROFILO_COMMITTENTE="'.$profilo_committente.'"';}
		if ($sito_ministero_inf_trasp!=''){$xml.=' tns:SITO_MINISTERO_INF_TRASP="'.$sito_ministero_inf_trasp.'"';}
		if ($sito_osservatorio_cp!=''){$xml.=' tns:SITO_OSSERVATORIO_CP="'.$sito_osservatorio_cp.'"';}
  if ($data_bore!=''){$xml.=' tns:DATA_BORE="'.$data_bore.'"';}
		if ($periodici!=''){$xml.=' tns:PERIODICI="'.$periodici.'"';}
		
		$xml.='/>';
							
		return $xml;
	}	
	
	final protected function __openTagSchedaCompleta(){
		
		$xml="<SchedaCompleta>";
		
		return $xml;
	}	
	
	final protected function __closeTagSchedaCompleta(){
		
		$xml="</SchedaCompleta>";
		
		return $xml;
	}	

	final protected function __closeTagScheda(){
		
		$xml="</Schede>";
		
		return $xml;
	}
	
	final protected function __closeXml(){
		
		$xml="</tns:TrasferimentoDati>";
		
		return $xml;
	}	
	
	final protected function __CUI($cig,$conn,$table,$array_schede,$num_progr){
		
  $CUI=XmlUtils::getInstance()->getCUI($cig,$conn,$table,$array_schede,$num_progr);
  if(!empty($CUI)) {
     $xml ="<CUI>".$CUI."</CUI>";
  }
  else{
    $xml ="<CUI></CUI>"; //<CUI /> 
  }	
		return $xml;
	}		
	
	final protected function __Intestazione() {
		
		$now=$this->getNow();
		
		$xml='<?xml version="1.0" encoding="utf-8"?>
					<tns:TrasferimentoDati xmlns:tns="xmlbeans.massload.simog.avlp.it" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="xmlbeans.massload.simog.avlp.it authority\xsd\TrasferimentoScheda_A.xsd">
					<InfoTrasferimento tns:DATA_CREAZIONE_FLUSSO="'.$now.'" tns:NUM_SCHEDE="1" />';
					
		return $xml;
	}

}
?>